/* eslint-disable camelcase */
import axios from 'axios'

// const baseUrl = 'http://210.34.58.21:5556'
const baseUrl = process.env.VUE_APP_FLASK_API

// 获取搜索词搜索文件
export function searchFileByName (rootpath, searchName, type) {
  const url = baseUrl + '/searchFileByName'
  const data = {
    path: rootpath,
    name: searchName,
    type: type
  }
  const jsonData = JSON.stringify(data)
  // console.log('发送的数据为：', jsonData)
  return new Promise((resolve, reject) => {
    axios.post(url, jsonData).then((response) => {
      // console.log('返回结果：', response)
      resolve(response)
    }).catch((error) => {
      // console.log('请求getFiles发生错误:', error)
      reject(error)
    })
  })
}

// 获取分配图片的数量
export function getTaskImageNum (filelist, type) {
  const url = baseUrl + '/getFile/getTaskImageNum'
  const data = {
    filelist: filelist,
    type: type
  }
  const jsonData = JSON.stringify(data)
  // console.log('发送的数据为：', jsonData)
  return new Promise((resolve, reject) => {
    axios.post(url, jsonData).then((response) => {
      // console.log('返回结果：', response)
      resolve(response)
    }).catch((error) => {
      // console.log('请求getFiles发生错误:', error)
      reject(error)
    })
  })
}

export function submitEdit (imagePath,taskName) {
  const url = baseUrl + '/submitEdit'
  const data = {
    image_path: imagePath,
    task_name: taskName,
  }
  const jsonData = JSON.stringify(data)
  console.log('submitEdit发送的数据为：', jsonData)
  return new Promise((resolve, reject) => {
    axios.post(url, jsonData).then((response) => {
      console.log('submitEdit返回结果：', response)
      resolve(response.data)
    }).catch((error) => {
      // console.log('请求getFiles发生错误:', error)
      reject(error)
    })
  })
}

export function getImagePath(jsonpath) {
  const url = baseUrl + '/getFile/getImagePath'
  const data = {
    jsonpath: jsonpath
  }
  const jsonData = JSON.stringify(data)
  return new Promise((reslove, reject) => {
    axios.post(url, jsonData).then((response) => {
      // console.log("getImagePath返回结果:",response)
      reslove((response))
    }).catch((error) => {
      reject(error)
    })
  })
}

export function getImage(filepath,taskId,taskName,is_see_second) {
  const url = baseUrl + '/getFile/getImage'
  const data = {
    filepath: filepath,
    taskId: taskId,
    taskName: taskName,
    is_see_second: is_see_second // 是否第二次查看
  }
  const jsonData = JSON.stringify(data)
  // console.log('getImage发送的数据为：', jsonData)
  return new Promise((reslove, reject) => {
    axios.post(url, jsonData).then((response) => {
      console.log('getImage返回结果：', response)
      reslove((response))
    }).catch((error) => {
      // console.log('请求getBase64发生错误:', error)
      reject(error)
    })
  })
}

// 未标注图片直接生成任务
export function addImageJson(task_name, file_list, is_vetical, is_force_update, is_save_result_image) {
  const url = baseUrl + '/addImageJson'
  const jsonData = {
    task_name: task_name,   // 任务名
    file_list: file_list,   // 任务中的所有图片路径
    is_vetical: is_vetical,
    is_force_update: is_force_update,
    is_save_result_image: is_save_result_image, // 是否保存结果图片
  }
  console.log('saveMarkData发送的数据为：', jsonData)
  return new Promise((reslove, reject) => {
    axios.post(url, jsonData).then((response) => {
      console.log('saveMarkData返回结果：', response)
      reslove(response.data)
    }).catch((error) => {
      // console.log('发送MarkData发生错误:', error)
      reject(error)
    })
  })
}

export function submitTaskApi (name, weight, type, jsonList, save_result_image) {
  const url = baseUrl + '/submitTask'
  const data = {
    task_name: name,
    weight: weight,
    type: type,
    jsons_path: jsonList,
    save_result_image: save_result_image
  }
  const jsonData = JSON.stringify(data)
  console.log('发送的数据为：', jsonData)
  return new Promise((resolve, reject) => {
    axios.post(url, jsonData).then((response) => {
      console.log('返回结果：', response)
      resolve(response.data)
    }).catch((error) => {
      // console.log('请求getFiles发生错误:', error)
      reject(error)
    })
  })
}

// 二次识别标注的暂存和上传修改
export function saveMarkDataRepate(image_path, isVetical, node_data, is_comfirm, task_id) {
  const url = baseUrl + '/getFile/saveMarkDataRepate'
  const jsonData = {
    image_path: image_path, // 图片路径
    is_vetical: isVetical,  // 排版方向
    node_data: node_data, // 修改后的node_data
    // lastSaveJsonPath: lastSaveJsonPath,   // 该图片识别后的json所在位置
    is_comfirm: is_comfirm, // 暂存或修改
    task_id: task_id
    // task_name: task_name, // 任务
    // taskId: taskId
  }
  console.log('saveMarkDataRepate发送的数据为：', jsonData)
  return new Promise((reslove, reject) => {
    axios.post(url, jsonData).then((response) => {
      console.log('saveMarkDataRepate返回结果：', response)
      reslove(response.data)
    }).catch((error) => {
      // console.log('发送MarkData发生错误:', error)
      reject(error)
    })
  })
}





export function getTaskList (page, size, type, order, status, task_name) {
  const url = baseUrl + '/getTasks'
  const data = {
    page: page,
    size: size,
    type: type,
    order: order,
    status: status,
    task_name: task_name
  }
  const jsonData = JSON.stringify(data)
  // console.log('发送的数据为：', jsonData)
  return new Promise((resolve, reject) => {
    axios.post(url, jsonData).then((response) => {
      // console.log('返回结果：', response.data)
      resolve(response.data)
    }).catch((error) => {
      console.log('请求getFiles发生错误:', error)
      reject(error)
    })
  })
}

// 通过
export function getJsonFilesList (page, size, task_id, status, file_name) {
  const url = baseUrl + '/getFilesByTaskId'
  const data = {
    task_id: task_id,
    page: page,
    size: size,
    status: status,
    file_name: file_name
  }
  const jsonData = JSON.stringify(data)
  // console.log('发送的数据为：', jsonData)
  return new Promise((resolve, reject) => {
    axios.post(url, jsonData).then((response) => {
      // console.log('返回结果：', response.data)
      resolve(response.data)
    }).catch((error) => {
      // console.log('请求getFiles发生错误:', error)
      reject(error)
    })
  })
}

export function getFiles (filepath) {
  const url = baseUrl + '/getFile/jsonList'
  const data = {
    filepath: filepath
  }
  const jsonData = JSON.stringify(data)
  // console.log('发送的数据为：', jsonData)
  return new Promise((resolve, reject) => {
    axios.post(url, jsonData).then((response) => {
      // console.log('返回结果：', response)
      resolve(response)
    }).catch((error) => {
      // console.log('请求getFiles发生错误:', error)
      reject(error)
    })
  })
}

// 获取远程服务器图片列表
export function getImages (filepath) {
  const url = baseUrl + '/getFile/imageList'
  const data = {
    filepath: filepath
  }
  const jsonData = JSON.stringify(data)
  // console.log('发送的数据为：', jsonData)
  return new Promise((resolve, reject) => {
    axios.post(url, jsonData).then((response) => {
      // console.log('返回结果：', response)
      resolve(response)
    }).catch((error) => {
      // console.log('请求getFiles发生错误:', error)
      reject(error)
    })
  })
}



export function insertTaskApi (name, weight, type, jsonList, save_result_image) {
  const url = baseUrl + '/insertTask'
  const data = {
    task_name: name,
    weight: weight,
    type: type,
    jsons_path: jsonList,
    save_result_image: save_result_image
  }
  const jsonData = JSON.stringify(data)
  // console.log('发送的数据为：', jsonData)
  return new Promise((resolve, reject) => {
    axios.post(url, jsonData).then((response) => {
      // console.log('返回结果：', response)
      resolve(response.data)
    }).catch((error) => {
      // console.log('请求getFiles发生错误:', error)
      reject(error)
    })
  })
}

export function stopTaskApi (id) {
  const url = baseUrl + '/stopTask'
  const data = {
    id: id
  }
  const jsonData = JSON.stringify(data)
  // console.log('发送的数据为：', jsonData)
  return new Promise((resolve, reject) => {
    axios.post(url, jsonData).then((response) => {
      // console.log('返回结果：', response)
      resolve(response.data)
    }).catch((error) => {
      // console.log('请求getFiles发生错误:', error)
      reject(error)
    })
  })
}

export function continueTaskApi (id, weight) {
  const url = baseUrl + '/continueTask'
  const data = {
    id: id,
    weight: weight
  }
  const jsonData = JSON.stringify(data)
  // console.log('发送的数据为：', jsonData)
  return new Promise((resolve, reject) => {
    axios.post(url, jsonData).then((response) => {
      // console.log('返回结果：', response)
      resolve(response.data)
    }).catch((error) => {
      // console.log('请求getFiles发生错误:', error)
      reject(error)
    })
  })
}

export function deleteTaskApi (id) {
  const url = baseUrl + '/deleteTask'
  const data = {
    id: id
  }
  const jsonData = JSON.stringify(data)
  // console.log('发送的数据为：', jsonData)
  return new Promise((resolve, reject) => {
    axios.post(url, jsonData).then((response) => {
      // console.log('返回结果：', response)
      resolve(response.data)
    }).catch((error) => {
      // console.log('请求getFiles发生错误:', error)
      reject(error)
    })
  })
}

export function editTaskApi (id, taskName, weight, type, save_result_image) {
  const url = baseUrl + '/updateTask'
  const data = {
    id: id,
    task_name: taskName,
    weight: weight,
    type: type,
    save_result_image: save_result_image
  }
  const jsonData = JSON.stringify(data)
  console.log('发送的数据为：', jsonData)
  return new Promise((resolve, reject) => {
    axios.post(url, jsonData).then((response) => {
      // console.log('返回结果：', response)
      resolve(response.data)
    }).catch((error) => {
      // console.log('请求getFiles发生错误:', error)
      reject(error)
    })
  })
}

export function getResultImage (id) {
  const url = baseUrl + '/getResultImage'
  const data = {
    image_id: id
  }
  const jsonData = JSON.stringify(data)
  console.log('getResultImage：', jsonData)
  return new Promise((resolve, reject) => {
    axios.post(url, jsonData).then((response) => {
      console.log('getResultImage：', response)
      resolve(response.data)
    }).catch((error) => {
      // console.log('请求getFiles发生错误:', error)
      reject(error)
    })
  })
}

// export function sortByTaskNameApi (page, size, order, status, task_name) {
//   const url = baseUrl + '/getTaskOrderByTaskName'
//   const data = {
//     page: page,
//     size: size,
//     order: order,
//     status: status,
//     task_name: task_name
//   }
//   const jsonData = JSON.stringify(data)
//   console.log('发送的数据为：', jsonData)
//   return new Promise((resolve, reject) => {
//     axios.post(url, jsonData).then((response) => {
//       console.log('返回结果：', response.data)
//       resolve(response.data)
//     }).catch((error) => {
//       // console.log('请求getFiles发生错误:', error)
//       reject(error)
//     })
//   })
// }

// export function sortBySubmitTimeApi (page, size, order, status, task_name) {
//   const url = baseUrl + '/getTaskOrderBySubmitTime'
//   const data = {
//     page: page,
//     size: size,
//     order: order,
//     status: status,
//     task_name: task_name
//   }
//   const jsonData = JSON.stringify(data)
//   console.log('发送的数据为：', jsonData)
//   return new Promise((resolve, reject) => {
//     axios.post(url, jsonData).then((response) => {
//       console.log('返回结果：', response.data)
//       resolve(response.data)
//     }).catch((error) => {
//       // console.log('请求getFiles发生错误:', error)
//       reject(error)
//     })
//   })
// }

// export function sortByFinishTimeApi (page, size, order, status, task_name) {
//   const url = baseUrl + '/getTaskOrderByFinishTime'
//   const data = {
//     page: page,
//     size: size,
//     order: order,
//     status: status,
//     task_name: task_name
//   }
//   const jsonData = JSON.stringify(data)
//   console.log('发送的数据为：', jsonData)
//   return new Promise((resolve, reject) => {
//     axios.post(url, jsonData).then((response) => {
//       console.log('返回结果：', response.data)
//       resolve(response.data)
//     }).catch((error) => {
//       // console.log('请求getFiles发生错误:', error)
//       reject(error)
//     })
//   })
// }
// export function sortByWeightApi (page, size, order, status, task_name) {
//   const url = baseUrl + '/getTaskOrderByWeight'
//   const data = {
//     page: page,
//     size: size,
//     order: order,
//     status: status,
//     task_name: task_name
//   }
//   const jsonData = JSON.stringify(data)
//   console.log('发送的数据为：', jsonData)
//   return new Promise((resolve, reject) => {
//     axios.post(url, jsonData).then((response) => {
//       console.log('返回结果：', response.data)
//       resolve(response.data)
//     }).catch((error) => {
//       // console.log('请求getFiles发生错误:', error)
//       reject(error)
//     })
//   })
// }
// export function sortByStatusApi (page, size, order, status, task_name) {
//   const url = baseUrl + '/getTaskOrderByStatus'
//   const data = {
//     page: page,
//     size: size,
//     order: order,
//     status: status,
//     task_name: task_name
//   }
//   const jsonData = JSON.stringify(data)
//   console.log('发送的数据为：', jsonData)
//   return new Promise((resolve, reject) => {
//     axios.post(url, jsonData).then((response) => {
//       console.log('返回结果：', response.data)
//       resolve(response.data)
//     }).catch((error) => {
//       // console.log('请求getFiles发生错误:', error)
//       reject(error)
//     })
//   })
// }

// export function queryByStatusNameApi (page, size, status, task_name) {
//   const url = baseUrl + '/filterTask'
//   const data = {
//     page: page,
//     size: size,
//     status: status,
//     task_name: task_name
//   }
//   const jsonData = JSON.stringify(data)
//   console.log('发送的数据为：', jsonData)
//   return new Promise((resolve, reject) => {
//     axios.post(url, jsonData).then((response) => {
//       console.log('返回结果：', response.data)
//       resolve(response.data)
//     }).catch((error) => {
//       // console.log('请求getFiles发生错误:', error)
//       reject(error)
//     })
//   })
// }
